make it compile and more similar to the X11 implementation [backward
authorHans Breuer <hans@breuer.org>
Fri, 6 Aug 2004 19:20:42 +0000 (19:20 +0000)
committerHans Breuer <hans@src.gnome.org>
Fri, 6 Aug 2004 19:20:42 +0000 (19:20 +0000)
2004-08-06  Hans Breuer  <hans@breuer.org>

* gdk/win32/gdkwindow-win32.c : make it compile and more
similar to the X11 implementation [backward compatibility
for GDK_WINDOW_TEMP, GDK_INPUT_ONLY (fixes bug #148702),
use the *screen* function variants, dont reparent already
destroyed]
(get_visible_region) : take the win32 part into account
(_gdk_windowing_window_destroy) : remove from handle table

* gdk/win32/gdkdisplay-win32.c : added
gdk_display_(request|supports)_selection_notification ()
with a currently mostly pointless implementation ;-)

* gtk/gtkfilesystemwin32.c (*_to_path) : same changes as on *NIX,
plugs memory leak
(gtk_file_system_win32_render_icon) : use new GTK_STOCK_DIRECTORY

* gtk/makefile.msc.in demos/gtk-demo/makefile.msc.in
  gtk/stock-icons/makefile.msc tests/makefile.msc : updated

* gdk/gdk.def gtk/gtk.def : updated externals

* tests/testiconview.c : remove unneeded dirent.h inclusion

14 files changed:
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
demos/gtk-demo/makefile.msc.in
gdk/gdk.def
gdk/win32/gdkdisplay-win32.c
gdk/win32/gdkwindow-win32.c
gtk/gtk.def
gtk/gtkfilesystemwin32.c
gtk/makefile.msc.in
gtk/stock-icons/makefile.msc
tests/makefile.msc
tests/testiconview.c

index 51fc3690ba76ee736aab5050406afe0b3a6ce5df..1d22d0da4ccc174100a80954dc7fc8c942382b31 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2004-08-06  Hans Breuer  <hans@breuer.org>
+
+       * gdk/win32/gdkwindow-win32.c : make it compile and more
+       similar to the X11 implementation [backward compatibility
+       for GDK_WINDOW_TEMP, GDK_INPUT_ONLY (fixes bug #148702), 
+       use the *screen* function variants, dont reparent already 
+       destroyed]
+       (get_visible_region) : take the win32 part into account
+       (_gdk_windowing_window_destroy) : remove from handle table
+
+       * gdk/win32/gdkdisplay-win32.c : added 
+       gdk_display_(request|supports)_selection_notification ()
+       with a currently mostly pointless implementation ;-)
+
+       * gtk/gtkfilesystemwin32.c (*_to_path) : same changes as on *NIX,
+       plugs memory leak
+       (gtk_file_system_win32_render_icon) : use new GTK_STOCK_DIRECTORY
+
+       * gtk/makefile.msc.in demos/gtk-demo/makefile.msc.in 
+         gtk/stock-icons/makefile.msc tests/makefile.msc : updated
+
+       * gdk/gdk.def gtk/gtk.def : updated externals
+
+       * tests/testiconview.c : remove unneeded dirent.h inclusion
+
 2004-08-06  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): Fix
index 51fc3690ba76ee736aab5050406afe0b3a6ce5df..1d22d0da4ccc174100a80954dc7fc8c942382b31 100644 (file)
@@ -1,3 +1,28 @@
+2004-08-06  Hans Breuer  <hans@breuer.org>
+
+       * gdk/win32/gdkwindow-win32.c : make it compile and more
+       similar to the X11 implementation [backward compatibility
+       for GDK_WINDOW_TEMP, GDK_INPUT_ONLY (fixes bug #148702), 
+       use the *screen* function variants, dont reparent already 
+       destroyed]
+       (get_visible_region) : take the win32 part into account
+       (_gdk_windowing_window_destroy) : remove from handle table
+
+       * gdk/win32/gdkdisplay-win32.c : added 
+       gdk_display_(request|supports)_selection_notification ()
+       with a currently mostly pointless implementation ;-)
+
+       * gtk/gtkfilesystemwin32.c (*_to_path) : same changes as on *NIX,
+       plugs memory leak
+       (gtk_file_system_win32_render_icon) : use new GTK_STOCK_DIRECTORY
+
+       * gtk/makefile.msc.in demos/gtk-demo/makefile.msc.in 
+         gtk/stock-icons/makefile.msc tests/makefile.msc : updated
+
+       * gdk/gdk.def gtk/gtk.def : updated externals
+
+       * tests/testiconview.c : remove unneeded dirent.h inclusion
+
 2004-08-06  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): Fix
index 51fc3690ba76ee736aab5050406afe0b3a6ce5df..1d22d0da4ccc174100a80954dc7fc8c942382b31 100644 (file)
@@ -1,3 +1,28 @@
+2004-08-06  Hans Breuer  <hans@breuer.org>
+
+       * gdk/win32/gdkwindow-win32.c : make it compile and more
+       similar to the X11 implementation [backward compatibility
+       for GDK_WINDOW_TEMP, GDK_INPUT_ONLY (fixes bug #148702), 
+       use the *screen* function variants, dont reparent already 
+       destroyed]
+       (get_visible_region) : take the win32 part into account
+       (_gdk_windowing_window_destroy) : remove from handle table
+
+       * gdk/win32/gdkdisplay-win32.c : added 
+       gdk_display_(request|supports)_selection_notification ()
+       with a currently mostly pointless implementation ;-)
+
+       * gtk/gtkfilesystemwin32.c (*_to_path) : same changes as on *NIX,
+       plugs memory leak
+       (gtk_file_system_win32_render_icon) : use new GTK_STOCK_DIRECTORY
+
+       * gtk/makefile.msc.in demos/gtk-demo/makefile.msc.in 
+         gtk/stock-icons/makefile.msc tests/makefile.msc : updated
+
+       * gdk/gdk.def gtk/gtk.def : updated externals
+
+       * tests/testiconview.c : remove unneeded dirent.h inclusion
+
 2004-08-06  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): Fix
index 51fc3690ba76ee736aab5050406afe0b3a6ce5df..1d22d0da4ccc174100a80954dc7fc8c942382b31 100644 (file)
@@ -1,3 +1,28 @@
+2004-08-06  Hans Breuer  <hans@breuer.org>
+
+       * gdk/win32/gdkwindow-win32.c : make it compile and more
+       similar to the X11 implementation [backward compatibility
+       for GDK_WINDOW_TEMP, GDK_INPUT_ONLY (fixes bug #148702), 
+       use the *screen* function variants, dont reparent already 
+       destroyed]
+       (get_visible_region) : take the win32 part into account
+       (_gdk_windowing_window_destroy) : remove from handle table
+
+       * gdk/win32/gdkdisplay-win32.c : added 
+       gdk_display_(request|supports)_selection_notification ()
+       with a currently mostly pointless implementation ;-)
+
+       * gtk/gtkfilesystemwin32.c (*_to_path) : same changes as on *NIX,
+       plugs memory leak
+       (gtk_file_system_win32_render_icon) : use new GTK_STOCK_DIRECTORY
+
+       * gtk/makefile.msc.in demos/gtk-demo/makefile.msc.in 
+         gtk/stock-icons/makefile.msc tests/makefile.msc : updated
+
+       * gdk/gdk.def gtk/gtk.def : updated externals
+
+       * tests/testiconview.c : remove unneeded dirent.h inclusion
+
 2004-08-06  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): Fix
index eb4065d27af34913e6a33f7e5c9f2cbbb8c98de2..4b83874b0047f071b236f9e7eb946fd52206b93e 100644 (file)
@@ -38,6 +38,7 @@ all : \
 DEMOS = \
        appwindow.c     \
        button_box.c    \
+       clipboard.c     \
        colorsel.c      \
        dialog.c                \
        drawingarea.c   \
@@ -45,6 +46,7 @@ DEMOS = \
        entry_completion.c      \
        expander.c      \
        hypertext.c     \
+       iconview.c      \
        images.c                \
        list_store.c    \
        menus.c         \
@@ -64,6 +66,7 @@ OBJECTS = \
        appwindow.obj   \
        button_box.obj  \
        changedisplay.obj       \
+       clipboard.obj   \
        colorsel.obj    \
        dialog.obj      \
        drawingarea.obj \
@@ -71,6 +74,7 @@ OBJECTS = \
        entry_completion.obj    \
        expander.obj    \
        hypertext.obj   \
+       iconview.obj    \
        images.obj      \
        list_store.obj  \
        menus.obj               \
index a459533c63eb3ec5a1fcf0fef3a5dc1f8050f288..a64798d8b2ada77eaa8a3380c9d3052b2505280a 100644 (file)
@@ -88,11 +88,13 @@ EXPORTS
        gdk_display_pointer_is_grabbed
        gdk_display_pointer_ungrab
        gdk_display_put_event
+       gdk_display_request_selection_notification
        gdk_display_set_double_click_distance
        gdk_display_set_double_click_time
        gdk_display_set_pointer_hooks
        gdk_display_supports_cursor_alpha
        gdk_display_supports_cursor_color
+       gdk_display_supports_selection_notification
        gdk_display_sync
        gdk_drag_abort
        gdk_drag_action_get_type
@@ -127,6 +129,7 @@ EXPORTS
        gdk_draw_points
        gdk_draw_polygon
        gdk_draw_rectangle
+       gdk_draw_rectangle_alpha_libgtk_only
        gdk_draw_rgb_32_image
        gdk_draw_rgb_32_image_dithalign
        gdk_draw_rgb_image
@@ -467,11 +470,13 @@ EXPORTS
        gdk_window_clear
        gdk_window_clear_area
        gdk_window_clear_area_e
+       gdk_window_configure_finished
        gdk_window_constrain_size
        gdk_window_deiconify
        gdk_window_destroy
        gdk_window_destroy_notify
        gdk_window_edge_get_type
+       gdk_window_enable_synchronized_configure
        gdk_window_end_paint
        gdk_window_focus
        gdk_window_foreign_new
index 28510dd1554f6e4a5af6f976436952baf8b51dec..34333766a3c15885a3309dc7ed46b67b8248c0f5 100644 (file)
@@ -234,3 +234,138 @@ gdk_display_get_default_group (GdkDisplay *display)
 
   return NULL;
 }
+
+gboolean 
+gdk_display_supports_selection_notification (GdkDisplay *display)
+{
+  g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE);
+
+  return TRUE;
+}
+
+static HWND _hwnd_next_viewer = NULL;
+
+/*
+ * maybe this should be integrated with the default message loop - or maybe not ;-)
+ */
+static LRESULT CALLBACK
+_win32_on_clipboard_change (HWND   hwnd,
+                            UINT   message,
+                            WPARAM wparam,
+                            LPARAM lparam)
+{
+  switch (message)
+    {
+    case WM_DESTROY : /* remove us from chain */
+      {
+        ChangeClipboardChain (hwnd, _hwnd_next_viewer);
+        return 0; 
+      }
+    case WM_CHANGECBCHAIN :
+      {
+        HWND hwndRemove = (HWND) wparam; /* handle of window being removed */
+        HWND hwndNext   = (HWND) lparam; /* handle of next window in chain */
+        if (hwndRemove == _hwnd_next_viewer)
+          _hwnd_next_viewer = hwndNext == hwnd ? NULL : hwndNext;
+        return 0;
+      }
+    case WM_DRAWCLIPBOARD :
+      {
+        /* create the appropriate gdk events */
+        HWND hwndOwner = GetClipboardOwner ();
+        UINT nFormat = 0;
+        int n = 0;
+
+        if (OpenClipboard (hwnd))
+          { 
+            for (; 0 != (nFormat = EnumClipboardFormats (nFormat)); )
+              {
+                char sFormat[80];
+                if (GetClipboardFormatName (nFormat, sFormat, 80) > 0)
+                  g_print ("%s ", sFormat);
+                n++; /* do something useful ? */
+              }
+            GDK_NOTE (DND, 
+                      g_print ("WM_DRAWCLIPBOARD :  formats %d owner %#lx\n", n, hwndOwner));
+
+            CloseClipboard ();
+          }
+        /* XXX: generate the apropriate GdkEventOwnerChange ... */
+
+        /* don't break the chain */
+        return PostMessage (_hwnd_next_viewer, message, wparam, lparam);
+      }
+    default :
+      return DefWindowProc (hwnd, message, wparam, lparam);
+    }
+}
+
+/*
+ * Creates a hidden window and adds it to the clipboard chain
+ */
+HWND
+_gdk_win32_register_clipboard_notification (void)
+{
+  WNDCLASS wclass;
+  HWND     hwnd;
+  ATOM     klass;
+
+  memset (&wclass, 0, sizeof(WNDCLASS));
+  wclass.lpszClassName = "GdkClipboardNotification";
+  wclass.lpfnWndProc   = _win32_on_clipboard_change;
+  wclass.hInstance     = _gdk_app_hmodule;
+
+  klass = RegisterClass (&wclass);
+  if (!klass)
+    return NULL;
+
+  hwnd = CreateWindow (MAKEINTRESOURCE(klass),
+                       NULL, WS_POPUP,
+                       0, 0, 0, 0, NULL, NULL,
+                       _gdk_app_hmodule, NULL);
+  if (!hwnd)
+    {
+      UnregisterClass (MAKEINTRESOURCE(klass), _gdk_app_hmodule);
+      return NULL;
+    }
+  _hwnd_next_viewer = SetClipboardViewer (hwnd);
+  return hwnd;
+}
+
+/*
+ * The whole function would only make sense if the gdk/win32 clipboard
+ * model is rewritten to do delayed rendering. Currently this is only
+ * testcode and as noted in
+ * http://mail.gnome.org/archives/gtk-devel-list/2004-May/msg00113.html
+ * probably not worth bothering ;)
+ */
+gboolean 
+gdk_display_request_selection_notification (GdkDisplay *display,
+                                            GdkAtom     selection)
+
+{
+  static HWND hwndViewer = NULL;
+  gboolean ret = FALSE;
+
+  GDK_NOTE (DND, 
+            g_print ("gdk_display_request_selection_notification (..., %s)",
+                     gdk_atom_name (selection)));
+
+  if (GDK_SELECTION_CLIPBOARD == selection)
+    {
+      if (!hwndViewer)
+        {
+          hwndViewer = _gdk_win32_register_clipboard_notification ();
+          GDK_NOTE (DND, g_print (" registered"));
+        }
+      ret = (hwndViewer != NULL);
+    }
+  else if (GDK_SELECTION_PRIMARY == selection)
+    {
+      /* seems to work by default ? */
+      GDK_NOTE (DND, g_print (" by default"));
+      ret = TRUE;
+    }
+  GDK_NOTE (DND, g_print (" -> %s\n", ret ? "TRUE" : "FALSE"));
+  return ret;
+}
index 87942b29154e9db0ffe8868f45f8d030890bab51..6f839bc92754cda9699059308f9d313b1f484b7c 100644 (file)
@@ -222,7 +222,8 @@ gdk_window_impl_win32_get_colormap (GdkDrawable *drawable)
   if (!((GdkWindowObject *) drawable_impl->wrapper)->input_only && 
       drawable_impl->colormap == NULL)
     {
-      drawable_impl->colormap = gdk_colormap_get_system ();
+      drawable_impl->colormap = 
+        gdk_screen_get_system_colormap (gdk_drawable_get_screen (drawable));
       g_object_ref (drawable_impl->colormap);
     }
   
@@ -269,6 +270,7 @@ gdk_window_impl_win32_get_visible_region (GdkDrawable *drawable)
 {
   GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (drawable);
   GdkRectangle result_rect;
+  HDC hdc;
 
   result_rect.x = 0;
   result_rect.y = 0;
@@ -277,6 +279,25 @@ gdk_window_impl_win32_get_visible_region (GdkDrawable *drawable)
 
   gdk_rectangle_intersect (&result_rect, &impl->position_info.clip_rect, &result_rect);
 
+  /* take this win32 specific part into account (smaller when obscured) */
+  hdc = GetDC (GDK_DRAWABLE_IMPL_WIN32_HANDLE (impl));
+  if (hdc)
+    {
+      RECT r;
+      if (SIMPLEREGION == GetClipBox (hdc, &r))
+        {
+          GdkRectangle gr;
+
+          gr.x = r.left;
+          gr.y = r.top;
+          gr.width = r.right - r.left;
+          gr.height = r.bottom - r.top;
+
+          gdk_rectangle_intersect (&result_rect, &gr, &result_rect);
+        }
+      ReleaseDC (GDK_DRAWABLE_IMPL_WIN32_HANDLE (drawable), hdc);
+    }
+
   return gdk_region_rectangle (&result_rect);
 }
 
@@ -531,7 +552,19 @@ gdk_window_new (GdkWindow     *parent,
   impl->width = (attributes->width > 1) ? (attributes->width) : (1);
   impl->height = (attributes->height > 1) ? (attributes->height) : (1);
   impl->extension_events_selected = FALSE;
-  private->window_type = attributes->window_type;
+  if (attributes->wclass == GDK_INPUT_ONLY)
+    {
+      /* Backwards compatiblity - we've always ignored
+       * attributes->window_type for input-only windows
+       * before
+       */
+      if (GDK_WINDOW_TYPE (parent) == GDK_WINDOW_ROOT)
+       private->window_type = GDK_WINDOW_TEMP;
+      else
+       private->window_type = GDK_WINDOW_CHILD;
+    }
+  else
+    private->window_type = attributes->window_type;
 
   if (attributes->wclass == GDK_INPUT_OUTPUT)
     {
@@ -556,11 +589,14 @@ gdk_window_new (GdkWindow     *parent,
       dwExStyle = WS_EX_TRANSPARENT;
       private->depth = 0;
       private->input_only = TRUE;
-      draw_impl->colormap = gdk_colormap_get_system ();
+      draw_impl->colormap = gdk_screen_get_system_colormap (screen);
       g_object_ref (draw_impl->colormap);
       GDK_NOTE (MISC, g_print ("...GDK_INPUT_ONLY, system colormap"));
     }
 
+  gdk_window_set_cursor (window, ((attributes_mask & GDK_WA_CURSOR) ?
+                                 (attributes->cursor) :
+                                 NULL));
   switch (private->window_type)
     {
     case GDK_WINDOW_TOPLEVEL:
@@ -818,6 +854,7 @@ _gdk_windowing_window_destroy (GdkWindow *window,
       private->destroyed = TRUE;
       DestroyWindow (GDK_WINDOW_HWND (window));
     }
+  gdk_win32_handle_table_remove (GDK_WINDOW_HWND (window));
 }
 
 void
@@ -1276,6 +1313,12 @@ gdk_window_reparent (GdkWindow *window,
   g_return_if_fail (new_parent == NULL || GDK_IS_WINDOW (new_parent));
   g_return_if_fail (GDK_WINDOW_TYPE (window) != GDK_WINDOW_ROOT);
 
+  if (GDK_WINDOW_DESTROYED (window) ||
+      (new_parent && GDK_WINDOW_DESTROYED (new_parent)))
+    {
+      return;
+    }
+
   if (!new_parent)
     new_parent = _gdk_parent_root;
 
@@ -2804,6 +2847,38 @@ gdk_window_set_static_gravities (GdkWindow *window,
   return TRUE;
 }
 
+void
+gdk_window_begin_resize_drag (GdkWindow     *window,
+                              GdkWindowEdge  edge,
+                              gint           button,
+                              gint           root_x,
+                              gint           root_y,
+                              guint32        timestamp)
+{
+  g_return_if_fail (GDK_IS_WINDOW (window));
+  
+  if (GDK_WINDOW_DESTROYED (window))
+    return;
+
+  /* XXX: isn't all this default on win32 ... */  
+}
+
+void
+gdk_window_begin_move_drag (GdkWindow *window,
+                            gint       button,
+                            gint       root_x,
+                            gint       root_y,
+                            guint32    timestamp)
+{
+  g_return_if_fail (GDK_IS_WINDOW (window));
+  
+  if (GDK_WINDOW_DESTROYED (window))
+    return;
+
+  /* XXX: isn't all this default on win32 ... */  
+}
+
+
 /*
  * Setting window states
  */
@@ -3189,37 +3264,6 @@ gdk_window_shape_combine_region (GdkWindow *window,
   /* XXX: even on X implemented conditional ... */  
 }
 
-void
-gdk_window_begin_resize_drag (GdkWindow     *window,
-                              GdkWindowEdge  edge,
-                              gint           button,
-                              gint           root_x,
-                              gint           root_y,
-                              guint32        timestamp)
-{
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  
-  if (GDK_WINDOW_DESTROYED (window))
-    return;
-
-  /* XXX: isn't all this default on win32 ... */  
-}
-
-void
-gdk_window_begin_move_drag (GdkWindow *window,
-                            gint       button,
-                            gint       root_x,
-                            gint       root_y,
-                            guint32    timestamp)
-{
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  
-  if (GDK_WINDOW_DESTROYED (window))
-    return;
-
-  /* XXX: isn't all this default on win32 ... */  
-}
-
 GdkWindow *
 gdk_window_lookup_for_display (GdkDisplay *display, GdkNativeWindow anid)
 {
@@ -3234,6 +3278,6 @@ gdk_window_enable_synchronized_configure (GdkWindow *window)
 }
 
 void
-gdk_window_configure_finished (GdkWindow *window);
+gdk_window_configure_finished (GdkWindow *window)
 {
 }
index d220fd8efe8fd4c9017433c9409635862a5edd72..6ddbd6cc1bffb605524251c3a69c9b3d6ce5c3b3 100755 (executable)
@@ -1,4 +1,33 @@
 EXPORTS
+       gtk_about_dialog_get_artists
+       gtk_about_dialog_get_authors
+       gtk_about_dialog_get_comments
+       gtk_about_dialog_get_copyright
+       gtk_about_dialog_get_documenters
+       gtk_about_dialog_get_license
+       gtk_about_dialog_get_logo
+       gtk_about_dialog_get_name
+       gtk_about_dialog_get_translator_credits
+       gtk_about_dialog_get_type
+       gtk_about_dialog_get_version
+       gtk_about_dialog_get_website
+       gtk_about_dialog_get_website_label
+       gtk_about_dialog_new
+       gtk_about_dialog_set_artists
+       gtk_about_dialog_set_authors
+       gtk_about_dialog_set_comments
+       gtk_about_dialog_set_copyright
+       gtk_about_dialog_set_documenters
+       gtk_about_dialog_set_email_hook
+       gtk_about_dialog_set_license
+       gtk_about_dialog_set_logo
+       gtk_about_dialog_set_name
+       gtk_about_dialog_set_translator_credits
+       gtk_about_dialog_set_url_hook
+       gtk_about_dialog_set_version
+       gtk_about_dialog_set_website
+       gtk_about_dialog_set_website_label
+       gtk_show_about_dialog
        gtk_accel_flags_get_type
        gtk_accel_group_activate
        gtk_accel_group_connect
@@ -77,7 +106,6 @@ EXPORTS
        gtk_action_group_set_translate_func
        gtk_action_group_set_translation_domain
        gtk_action_group_set_visible
-       gtk_action_group_translate_string
        gtk_action_is_sensitive
        gtk_action_is_visible
        gtk_action_new
@@ -198,6 +226,8 @@ EXPORTS
        gtk_cell_layout_set_attributes
        gtk_cell_layout_set_cell_data_func
        gtk_cell_renderer_activate
+       gtk_cell_renderer_combo_get_type
+       gtk_cell_renderer_combo_new
        gtk_cell_renderer_editing_canceled
        gtk_cell_renderer_get_fixed_size
        gtk_cell_renderer_get_size
@@ -205,6 +235,7 @@ EXPORTS
        gtk_cell_renderer_mode_get_type
        gtk_cell_renderer_pixbuf_get_type
        gtk_cell_renderer_pixbuf_new
+       gtk_cell_renderer_progress_new
        gtk_cell_renderer_render
        gtk_cell_renderer_set_fixed_size
        gtk_cell_renderer_start_editing
@@ -219,20 +250,16 @@ EXPORTS
        gtk_cell_renderer_toggle_set_active
        gtk_cell_renderer_toggle_set_radio
        gtk_cell_type_get_type
+       gtk_cell_view_get_cell_renderers
        gtk_cell_view_get_displayed_row
        gtk_cell_view_get_size_of_row
        gtk_cell_view_get_type
-       gtk_cell_view_menu_item_get_type
-       gtk_cell_view_menu_item_new
-       gtk_cell_view_menu_item_new_from_model
-       gtk_cell_view_menu_item_new_with_markup
-       gtk_cell_view_menu_item_new_with_pixbuf
-       gtk_cell_view_menu_item_new_with_text
        gtk_cell_view_new
        gtk_cell_view_new_with_markup
        gtk_cell_view_new_with_pixbuf
        gtk_cell_view_new_with_text
        gtk_cell_view_set_background_color
+       gtk_cell_view_set_cell_data
        gtk_cell_view_set_displayed_row
        gtk_cell_view_set_model
        gtk_cell_view_set_value
@@ -389,8 +416,12 @@ EXPORTS
        gtk_combo_box_entry_set_text_column
        gtk_combo_box_get_active
        gtk_combo_box_get_active_iter
+       gtk_combo_box_get_active_text
+       gtk_combo_box_get_add_tearoffs
        gtk_combo_box_get_column_span_column
        gtk_combo_box_get_model
+       gtk_combo_box_get_popup_accessible
+       gtk_combo_box_get_row_separator_func
        gtk_combo_box_get_row_span_column
        gtk_combo_box_get_type
        gtk_combo_box_get_wrap_width
@@ -404,8 +435,10 @@ EXPORTS
        gtk_combo_box_remove_text
        gtk_combo_box_set_active
        gtk_combo_box_set_active_iter
+       gtk_combo_box_set_add_tearoffs
        gtk_combo_box_set_column_span_column
        gtk_combo_box_set_model
+       gtk_combo_box_set_row_separator_func
        gtk_combo_box_set_row_span_column
        gtk_combo_box_set_wrap_width
        gtk_combo_disable_activate
@@ -559,6 +592,7 @@ EXPORTS
        gtk_disable_setlocale
        gtk_drag_begin
        gtk_drag_check_threshold
+       gtk_drag_dest_add_text_targets
        gtk_drag_dest_find_target
        gtk_drag_dest_get_target_list
        gtk_drag_dest_set
@@ -575,6 +609,7 @@ EXPORTS
        gtk_drag_set_icon_pixmap
        gtk_drag_set_icon_stock
        gtk_drag_set_icon_widget
+       gtk_drag_source_add_text_targets
        gtk_drag_source_get_target_list
        gtk_drag_source_set
        gtk_drag_source_set_icon
@@ -626,15 +661,21 @@ EXPORTS
        gtk_entry_completion_complete
        gtk_entry_completion_delete_action
        gtk_entry_completion_get_entry
+       gtk_entry_completion_get_inline_completion
        gtk_entry_completion_get_minimum_key_length
        gtk_entry_completion_get_model
+       gtk_entry_completion_get_popup_completion
+       gtk_entry_completion_get_text_column
        gtk_entry_completion_get_type
        gtk_entry_completion_insert_action_markup
        gtk_entry_completion_insert_action_text
+       gtk_entry_completion_insert_prefix
        gtk_entry_completion_new
+       gtk_entry_completion_set_inline_completion
        gtk_entry_completion_set_match_func
        gtk_entry_completion_set_minimum_key_length
        gtk_entry_completion_set_model
+       gtk_entry_completion_set_popup_completion
        gtk_entry_completion_set_text_column
        gtk_entry_get_activates_default
        gtk_entry_get_alignment
@@ -712,6 +753,7 @@ EXPORTS
        gtk_file_chooser_get_preview_widget
        gtk_file_chooser_get_preview_widget_active
        gtk_file_chooser_get_select_multiple
+       gtk_file_chooser_get_show_hidden
        gtk_file_chooser_get_type
        gtk_file_chooser_get_uri
        gtk_file_chooser_get_uris
@@ -736,6 +778,7 @@ EXPORTS
        gtk_file_chooser_set_preview_widget
        gtk_file_chooser_set_preview_widget_active
        gtk_file_chooser_set_select_multiple
+       gtk_file_chooser_set_show_hidden
        gtk_file_chooser_set_uri
        gtk_file_chooser_set_use_preview_label
        gtk_file_chooser_unselect_all
@@ -756,6 +799,7 @@ EXPORTS
        gtk_file_filter_set_name
        gtk_file_folder_get_info
        gtk_file_folder_get_type
+       gtk_file_folder_is_finished_loading
        gtk_file_folder_list_children
        gtk_file_info_copy
        gtk_file_info_free
@@ -774,6 +818,7 @@ EXPORTS
        gtk_file_info_set_mime_type
        gtk_file_info_set_modification_time
        gtk_file_info_set_size
+       gtk_file_path_get_type
        gtk_file_paths_copy
        gtk_file_paths_free
        gtk_file_paths_sort
@@ -800,6 +845,7 @@ EXPORTS
        gtk_file_system_make_path
        gtk_file_system_module_get_type
        gtk_file_system_parse
+       gtk_file_system_path_is_local
        gtk_file_system_path_to_filename
        gtk_file_system_path_to_uri
        gtk_file_system_remove_bookmark
@@ -969,6 +1015,7 @@ EXPORTS
        gtk_icon_theme_get_default
        gtk_icon_theme_get_example_icon_name
        gtk_icon_theme_get_for_screen
+       gtk_icon_theme_get_icon_sizes
        gtk_icon_theme_get_search_path
        gtk_icon_theme_get_type
        gtk_icon_theme_has_icon
@@ -981,6 +1028,30 @@ EXPORTS
        gtk_icon_theme_set_custom_theme
        gtk_icon_theme_set_screen
        gtk_icon_theme_set_search_path
+       gtk_icon_view_get_markup_column
+       gtk_icon_view_get_model
+       gtk_icon_view_get_path_at_pos
+       gtk_icon_view_get_orientation
+       gtk_icon_view_get_pixbuf_column
+       gtk_icon_view_get_selected_items
+       gtk_icon_view_get_selection_mode
+       gtk_icon_view_get_text_column
+       gtk_icon_view_get_type
+       gtk_icon_view_item_activated
+       gtk_icon_view_new
+       gtk_icon_view_new_with_model
+       gtk_icon_view_path_is_selected
+       gtk_icon_view_select_all
+       gtk_icon_view_select_path
+       gtk_icon_view_selected_foreach
+       gtk_icon_view_set_markup_column
+       gtk_icon_view_set_model
+       gtk_icon_view_set_orientation
+       gtk_icon_view_set_pixbuf_column
+       gtk_icon_view_set_selection_mode
+       gtk_icon_view_set_text_column
+       gtk_icon_view_unselect_all
+       gtk_icon_view_unselect_path
        gtk_identifier_get_type
        gtk_idle_add
        gtk_idle_add_full
@@ -1089,6 +1160,7 @@ EXPORTS
        gtk_key_snooper_remove
        gtk_label_get
        gtk_label_get_attributes
+       gtk_label_get_ellipsize
        gtk_label_get_justify
        gtk_label_get_label
        gtk_label_get_layout
@@ -1107,6 +1179,7 @@ EXPORTS
        gtk_label_parse_uline
        gtk_label_select_region
        gtk_label_set_attributes
+       gtk_label_set_ellipsize
        gtk_label_set_justify
        gtk_label_set_label
        gtk_label_set_line_wrap
@@ -1224,6 +1297,7 @@ EXPORTS
        gtk_menu_get_accel_group
        gtk_menu_get_active
        gtk_menu_get_attach_widget
+       gtk_menu_get_for_attach_widget
        gtk_menu_get_private
        gtk_menu_get_tearoff_state
        gtk_menu_get_title
@@ -1702,6 +1776,7 @@ EXPORTS
        gtk_target_flags_get_type
        gtk_target_list_add
        gtk_target_list_add_table
+       gtk_target_list_add_text_targets
        gtk_target_list_find
        gtk_target_list_new
        gtk_target_list_ref
@@ -2365,11 +2440,15 @@ EXPORTS
        gtk_tree_view_get_drag_dest_row
        gtk_tree_view_get_enable_search
        gtk_tree_view_get_expander_column
+       gtk_tree_view_get_fixed_height_mode
        gtk_tree_view_get_hadjustment
        gtk_tree_view_get_headers_visible
+       gtk_tree_view_get_hover_expand
+       gtk_tree_view_get_hover_selection
        gtk_tree_view_get_model
        gtk_tree_view_get_path_at_pos
        gtk_tree_view_get_reorderable
+       gtk_tree_view_get_row_separator_func
        gtk_tree_view_get_rules_hint
        gtk_tree_view_get_search_column
        gtk_tree_view_get_search_equal_func
@@ -2397,11 +2476,15 @@ EXPORTS
        gtk_tree_view_set_drag_dest_row
        gtk_tree_view_set_enable_search
        gtk_tree_view_set_expander_column
+       gtk_tree_view_set_fixed_height_mode
        gtk_tree_view_set_hadjustment
        gtk_tree_view_set_headers_clickable
        gtk_tree_view_set_headers_visible
+       gtk_tree_view_get_hover_expand
+       gtk_tree_view_set_hover_selection
        gtk_tree_view_set_model
        gtk_tree_view_set_reorderable
+       gtk_tree_view_set_row_separator_func
        gtk_tree_view_set_rules_hint
        gtk_tree_view_set_search_column
        gtk_tree_view_set_search_equal_func
@@ -2621,6 +2704,7 @@ EXPORTS
        gtk_window_get_has_frame
        gtk_window_get_icon
        gtk_window_get_icon_list
+       gtk_window_get_icon_name
        gtk_window_get_mnemonic_modifier
        gtk_window_get_modal
        gtk_window_get_position
@@ -2662,6 +2746,7 @@ EXPORTS
        gtk_window_set_default_icon
        gtk_window_set_default_icon_from_file
        gtk_window_set_default_icon_list
+       gtk_window_set_default_icon_name
        gtk_window_set_default_size
        gtk_window_set_destroy_with_parent
        gtk_window_set_focus
@@ -2673,6 +2758,7 @@ EXPORTS
        gtk_window_set_icon
        gtk_window_set_icon_from_file
        gtk_window_set_icon_list
+       gtk_window_set_icon_name
        gtk_window_set_keep_above
        gtk_window_set_keep_below
        gtk_window_set_mnemonic_modifier
index 1ecc940478f35377a4c48ea007165124e26aee3a..75a5bc6a4804b9ca09d583e1c79139a458cfc828 100644 (file)
@@ -829,18 +829,22 @@ static GtkFilePath *
 gtk_file_system_win32_uri_to_path (GtkFileSystem     *file_system,
                                   const gchar       *uri)
 {
+  GtkFilePath *path = NULL;
   gchar *filename = g_filename_from_uri (uri, NULL, NULL);
   if (filename)
-    return gtk_file_path_new_steal (filename);
-  else
-    return NULL;
+    {
+      path = filename_to_path (filename);
+      g_free (filename);
+    }
+
+  return path;
 }
 
 static GtkFilePath *
 gtk_file_system_win32_filename_to_path (GtkFileSystem *file_system,
                                        const gchar   *filename)
 {
-  return gtk_file_path_new_dup (filename);
+  return filename_to_path (filename);
 }
 
 static gboolean
@@ -1099,7 +1103,7 @@ gtk_file_system_win32_render_icon (GtkFileSystem     *file_system,
       if (0 == strcmp (g_get_home_dir(), filename))
         icon_set = gtk_style_lookup_icon_set (widget->style, GTK_STOCK_HOME);
       else
-        icon_set = gtk_style_lookup_icon_set (widget->style, GTK_STOCK_OPEN);
+        icon_set = gtk_style_lookup_icon_set (widget->style, GTK_STOCK_DIRECTORY);
     }
   else if (g_file_test (filename, G_FILE_TEST_IS_EXECUTABLE))
     {
index 432c8862ae24da8fbb56a3ba2f325b7813bf32b0..259a4486d24e1c9bbc4317cf2f09a74e45489b93 100644 (file)
@@ -55,6 +55,7 @@ all :                                         \
 
 gtk_OBJECTS =                                  \
        fnmatch.obj                             \
+       gtkabout.obj    \
        gtkaccelgroup.obj                       \
        gtkaccellabel.obj                       \
        gtkaccelmap.obj \
@@ -74,12 +75,13 @@ gtk_OBJECTS =                                       \
        gtkcelleditable.obj                     \
        gtkcelllayout.obj                       \
        gtkcellrenderer.obj                     \
+       gtkcellrenderercombo.obj \
        gtkcellrenderertext.obj                 \
        gtkcellrenderertoggle.obj               \
        gtkcellrendererpixbuf.obj               \
+       gtkcellrendererprogress.obj             \
        gtkcellrendererseptext.obj              \
        gtkcellview.obj         \
-       gtkcellviewmenuitem.obj \
        gtkcheckbutton.obj                      \
        gtkcheckmenuitem.obj                    \
        gtkclipboard.obj                        \
@@ -131,6 +133,7 @@ gtk_OBJECTS =                                       \
        gtkiconfactory.obj                      \
        gtkicontheme.obj                        \
        gtkiconthemeparser.obj                  \
+       gtkiconview.obj                 \
        gtkimage.obj                            \
        gtkimagemenuitem.obj    \
        gtkimcontext.obj                        \
@@ -245,6 +248,7 @@ gtk_OBJECTS =                                       \
 # Source headers which are non-autogenerated headers
 gtk_public_h_sources =         \
        gtk.h                   \
+       gtkabout.h      \
        gtkaccelgroup.h         \
        gtkaccellabel.h         \
        gtkaccelmap.h           \
@@ -267,6 +271,7 @@ gtk_public_h_sources =              \
        gtkcellrendererpixbuf.h \
        gtkcellrenderertext.h   \
        gtkcellrenderertoggle.h \
+       gtkcellview.h \
        gtkcheckbutton.h        \
        gtkcheckmenuitem.h      \
        gtkclipboard.h          \
@@ -313,6 +318,7 @@ gtk_public_h_sources =              \
        gtkhsv.h                \
        gtkiconfactory.h        \
        gtkicontheme.h          \
+       gtkiconview.h           \
        gtkimage.h              \
        gtkimagemenuitem.h      \
        gtkimcontext.h          \
index 284da86eaabf89b8cec72dfd5445b90d8399312c..5b4a3288f14e962342bb301936477eac2b00cc07 100644 (file)
@@ -1,4 +1,6 @@
 VARIABLES = \
+       stock_about_16          stock_about_16.png      \
+       stock_about_24          stock_about_24.png      \
        stock_add_16            stock_add_16.png        \
        stock_add_24            stock_add_24.png        \
        stock_align_center_16           stock_align_center_16.png       \
@@ -22,6 +24,8 @@ VARIABLES = \
        stock_close_24          stock_close_24.png      \
        stock_color_picker_25           stock_color_picker_25.png       \
        stock_colorselector_24          stock_colorselector_24.png      \
+       stock_connect_16                stock_connect_16.png    \
+       stock_connect_24                stock_connect_24.png    \
        stock_convert_16                stock_convert_16.png    \
        stock_convert_24                stock_convert_24.png    \
        stock_copy_16           stock_copy_16.png       \
@@ -33,22 +37,30 @@ VARIABLES = \
        stock_dialog_info_48            stock_dialog_info_48.png        \
        stock_dialog_question_48                stock_dialog_question_48.png    \
        stock_dialog_warning_48         stock_dialog_warning_48.png     \
+       stock_directory_16              stock_directory_16.png  \
+       stock_directory_24              stock_directory_24.png  \
+       stock_disconnect_16             stock_disconnect_16.png \
+       stock_disconnect_24             stock_disconnect_24.png \
        stock_dnd_32            stock_dnd_32.png        \
        stock_dnd_multiple_32           stock_dnd_multiple_32.png       \
        stock_down_arrow_16             stock_down_arrow_16.png \
        stock_down_arrow_24             stock_down_arrow_24.png \
+       stock_edit_16           stock_edit_16.png       \
+       stock_edit_24           stock_edit_24.png       \
        stock_exec_16           stock_exec_16.png       \
        stock_exec_24           stock_exec_24.png       \
        stock_exit_16           stock_exit_16.png       \
        stock_exit_24           stock_exit_24.png       \
+       stock_file_16           stock_file_16.png       \
+       stock_file_24           stock_file_24.png       \
        stock_first_16          stock_first_16.png      \
        stock_first_24          stock_first_24.png      \
        stock_font_16           stock_font_16.png       \
        stock_font_24           stock_font_24.png       \
-       stock_help_16           stock_help_16.png       \
-       stock_help_24           stock_help_24.png       \
        stock_harddisk_16               stock_harddisk_16.png   \
        stock_harddisk_24               stock_harddisk_24.png   \
+       stock_help_16           stock_help_16.png       \
+       stock_help_24           stock_help_24.png       \
        stock_home_16           stock_home_16.png       \
        stock_home_24           stock_home_24.png       \
        stock_index_24          stock_index_24.png      \
@@ -64,6 +76,22 @@ VARIABLES = \
        stock_last_24           stock_last_24.png       \
        stock_left_arrow_16             stock_left_arrow_16.png \
        stock_left_arrow_24             stock_left_arrow_24.png \
+       stock_media_forward_16          stock_media_forward_16.png      \
+       stock_media_forward_24          stock_media_forward_24.png      \
+       stock_media_next_16             stock_media_next_16.png \
+       stock_media_next_24             stock_media_next_24.png \
+       stock_media_pause_16            stock_media_pause_16.png        \
+       stock_media_pause_24            stock_media_pause_24.png        \
+       stock_media_play_16             stock_media_play_16.png \
+       stock_media_play_24             stock_media_play_24.png \
+       stock_media_previous_16         stock_media_previous_16.png     \
+       stock_media_previous_24         stock_media_previous_24.png     \
+       stock_media_record_16           stock_media_record_16.png       \
+       stock_media_record_24           stock_media_record_24.png       \
+       stock_media_rewind_16           stock_media_rewind_16.png       \
+       stock_media_rewind_24           stock_media_rewind_24.png       \
+       stock_media_stop_16             stock_media_stop_16.png \
+       stock_media_stop_24             stock_media_stop_24.png \
        stock_network_16                stock_network_16.png    \
        stock_network_24                stock_network_24.png    \
        stock_new_16            stock_new_16.png        \
index de8ab666550e24f1e94f6c268833bb4337a4fe2c..bc469cbaad73da86596f1716188cec492404d835 100644 (file)
@@ -45,7 +45,7 @@ TESTAPPS = \
        testentrycompletion \
        testfilechooser \
        testgtk \
-       testicontheme testinput \
+       testicontheme testiconview testinput \
        testmenus testmerge testmultidisplay testmultiscreen \
        testrgb \
        testselection testspinbutton \
@@ -72,6 +72,10 @@ one-test-app:
 EXTRA_OBJETCS = prop-editor.obj
 !ENDIF
 
+!IFDEF EXTRA_testiconview
+EXTRA_OBJETCS = prop-editor.obj
+!ENDIF
+
 !IFDEF EXTRA_testtreeview
 EXTRA_OBJETCS = prop-editor.obj
 !ENDIF
index 0a8a3928d7bac96819bdb8f26560d1db39c29d81..44633672716943c0e7d2b13b757247002648ca98 100644 (file)
@@ -20,7 +20,6 @@
 #include <gtk/gtk.h>
 #include <sys/types.h>
 #include <string.h>
-#include <dirent.h>
 #include "prop-editor.h"
 
 #define NUMBER_OF_ITEMS 10